# _*_coding : UTF-8_*_
import time

import allure
from selenium.webdriver.common.by import By
from Enterprise_wechat_web.PageObject.Base_page import BasePage
import logging



class MemberPage(BasePage):
    _base_url="https://work.weixin.qq.com/wework_admin/frame#contacts" # 通讯录界面,对父类base_url赋值
    # 填写资料定位
    get_username=(By.CSS_SELECTOR, '#username')
    get_zhanghao=(By.ID, 'memberAdd_acctid')
    get_phone=(By.ID, 'memberAdd_phone')
    # 保存按钮定位
    get_save=(By.XPATH, '//*[@class="qui_btn ww_btn js_btn_save"]')
    # 取消
    ge_quxiao=(By.XPATH,'//*[@class="qui_btn ww_btn js_btn_cancel"]')

    def add_member(self,name,zhanghao,phone):
        """
        填写成员资料，点击保存
        :return: 返回通讯录实例对象
        """
        # 解决循环导入问题导入操作放在方法内部--A导入B，B也导入A
        from Enterprise_wechat_web.PageObject.address_page import AddressPage
        with allure.step("填写成员资料"):
            # 添加成员填写资料
            # 姓名
            self.find(self.get_username).send_keys(name)  # self.get_username解包传入2个参数
            # 帐号
            self.find(self.get_zhanghao).send_keys(zhanghao)
            # 手机号
            self.find(self.get_phone).send_keys(phone)
            # 保存
            self.find(self.get_save).click()
        time.sleep(1)
        # 保存截图到指定路径
        self.driver.get_screenshot_as_file("../jietu/添加成员成功.png")
        # allure报告展示截图
        allure.attach(self.driver.get_screenshot_as_png(),"添加成员成功_截图",allure.attachment_type.PNG)
        logging.info("添加成员成功")
        return AddressPage(self.driver)

    def add_member_fail(self,name,zhanghao,phone):
        """
        填写成员资料，点击保存
        :return: 返回通讯录实例对象
        """
        # 解决循环导入问题导入操作放在方法内部--A导入B，B也导入A
        from Enterprise_wechat_web.PageObject.address_page import AddressPage
        with allure.step("填写成员资料"):
            # 添加成员填写资料
            # 姓名
            self.find(self.get_username).send_keys(name)  # self.get_username解包传入2个参数
            # 帐号
            self.find(self.get_zhanghao).send_keys(zhanghao)
            # 手机号
            self.find(self.get_phone).send_keys(phone)
            # 保存
            self.find(self.get_save).click()
            logging.info("添加成员失败")
        # 保存截图到指定路径
        self.driver.get_screenshot_as_file("../jietu/添加成员失败.png")
        # allure报告展示截图
        allure.attach(self.driver.get_screenshot_as_png(), "添加成员失败_截图", allure.attachment_type.PNG)
        # 取消
        self.find(self.ge_quxiao).click()
        return AddressPage(self.driver)


